adjoint method #optimization #incomplete References https://cs.stanford.edu/~ambrad/adjoint_tutorial.pdf